<?php
class acts
{
	var $act;
	function showActs($obj, $limit, $textLimit="", $firmsId="", $edit=false, $maxheight="")
	{
		echo '<link rel="stylesheet" href="style/acts.css" />';
		echo ('
		<div class="acts" style="overflow: hidden; max-height: '.$maxheight.';">
			<table border="0">
		');
		$table=$_GET['city'];
		if($obj!='nets')$aConnect=new connect(substr($obj, 0, 1).'a');
		else
		{
			$aConnect=new connect('main');
			$table='nets_acts';
		}
		if($firmsId)$term="AND ".$obj."_id='".$firmsId."'";
		$cur_date=date_create();//начинаем с сегодняшней даты
		$date=date_format($cur_date, 'Y-m-d');
		$num=mysql_num_rows($aConnect->select_all($table, "WHERE DATE(data)>=DATE('$date') ".$term." ORDER BY data DESC"));
		$countDates=array();
		for($i=1; $i<20; $i++)
		{
			$day=date_format($cur_date, 'd');
			$month=date_format($cur_date, 'm');
			if($month==01)$month="января";
			elseif($month==02)$month="февраля";
			elseif($month==03)$month="марта";
			elseif($month==04)$month="апреля";
			elseif($month==05)$month="мая";
			elseif($month==06)$month="июня";
			elseif($month==07)$month="июля";
			elseif($month==08)$month="августа";
			elseif($month==09)$month="сентября";
			elseif($month==10)$month="октября";
			elseif($month==11)$month="ноября";
			elseif($month==12)$month="декабря";
			$date=date_format($cur_date, 'Y-m-d'); //задаем дату для вывода из базыданных
			//echo $date;
			$res=$aConnect->select_all($table, "WHERE DATE(data)=DATE('$date') ".$term." ORDER BY data DESC LIMIT $limit");
			$showNum=mysql_num_rows($res);
			if(mysql_num_rows($res))
			{
				$countDates[]=$day;
				$arr[]= '
				<tr>
					<td colspan="4">
						<div class="actdate"><a>'.$day.' '.$month.'</a></div>
					</td>
				</tr>
				';
			}
			while($row=mysql_fetch_array($res))
			{
				if(!$firmsId)
				{
					$firms_id=$row[$obj.'_id'];
					$firms_name=$row[$obj.'_name'];
					$firms_short=$row[$obj.'_short'];
				}
				$arr[]=$this->showAnAct($obj, $row['id'], $row['name'], $row['stext'], $row['data'], $firms_id, $firms_name, $firms_short, $textLimit, $edit);
			}
			if(count($arr)-count($countDates)==$limit)break;
			date_add($cur_date, date_interval_create_from_date_string('1 day'));//прибавляем день и повторяем заново
		}
		for ($i = 0; $i<($limit+count($countDates)); $i++)
	    {
	    	echo $arr[$i];//собрали в массив все по-порядку и выводим нужное кол-во строк
	    }
	    if(!$arr)echo '<div class="tabHeader"><h3>Событий пока не намечается</h3></div>';
  		echo ('
  			</table>
  		</div>
  		');
  		if($num>$limit)
  			{
  				$cab=false;
  				if($edit)$cab='cab';
  				echo ('
	  			<center>
	  			<a class="belink" href="acts'.$cab.'.php?city='.$_GET['city'].'&id='.$_GET['id'].'&obj='.$obj.'">
	  				Все события('.$num.')
	  			</a>
	  			</center>
	  			');
  			}
	}
	function showAllActs($limit, $textLimit="", $firmsId="", $maxheight="")
	{
		echo '<link rel="stylesheet" href="style/acts.css" />';
		echo ('
		<div class="acts" style="overflow: hidden; max-height: '.$maxheight.';">
			<table border="0">
		');
		$cur_date=date_create();//начинаем с сегодняшней даты
		$date=date_format($cur_date, 'Y-m-d');
		$aConnect=new connect('fa');
		$num=mysql_num_rows($aConnect->select_all($_GET['city'], "WHERE DATE(data)>=DATE('$date') ORDER BY data DESC"));
		$aConnect=new connect('ma');
		$num=$num+mysql_num_rows($aConnect->select_all($_GET['city'], "WHERE DATE(data)>=DATE('$date') ORDER BY data DESC"));
		$countDates=array();
		for($i=1; $i<20; $i++)
		{
			$dateShowed=false;
			if($firmsId)$term="AND ".$obj."_id='".$firmsId."'";
			$day=date_format($cur_date, 'd');
			$month=date_format($cur_date, 'm');
			if($month==01)$month="января";
			elseif($month==02)$month="февраля";
			elseif($month==03)$month="марта";
			elseif($month==04)$month="апреля";
			elseif($month==05)$month="мая";
			elseif($month==06)$month="июня";
			elseif($month==07)$month="июля";
			elseif($month==08)$month="августа";
			elseif($month==09)$month="сентября";
			elseif($month==10)$month="октября";
			elseif($month==11)$month="ноября";
			elseif($month==12)$month="декабря";
			$date=date_format($cur_date, 'Y-m-d'); //задаем дату для вывода из базыданных
			//echo $date;
			$aConnect=new connect('fa');
			$res=$aConnect->select_all($_GET['city'], "WHERE DATE(data)=DATE('$date') ".$term." ORDER BY data DESC");
			if(mysql_num_rows($res))
			{
				$countDates[]=$day;
				$arr[]= '
				<tr>
					<td colspan="4">
						<div class="actdate"><a>'.$day.' '.$month.'</a></div>
					</td>
				</tr>
				';
				$dateShowed=true;
			}
			while($row=mysql_fetch_array($res))
			{
				$obj='firms';
				if(!$firmsId)
				{
					$firms_id=$row[$obj.'_id'];
					$firms_name=$row[$obj.'_name'];
					$firms_short=$row[$obj.'_short'];
				}
				$arr[]=$this->showAnAct('firms', $row['id'], $row['name'], $row['stext'], $row['data'], $firms_id, $firms_name, $firms_short, $textLimit);
			}
			//date_add($cur_date, date_interval_create_from_date_string('1 day'));//прибавляем день и повторяем заново

		$aConnect=new connect('ma');
			$res=$aConnect->select_all($_GET['city'], "WHERE DATE(data)=DATE('$date') ".$term." ORDER BY data DESC");
			if(mysql_num_rows($res) && !$dateShowed)
			{
				$countDates[]=$day;
				$arr[]= '
				<tr>
					<td colspan="4">
						<div class="actdate"><a>'.$day.' '.$month.'</a></div>
					</td>
				</tr>
				';
			}
			while($row=mysql_fetch_array($res))
			{
				$obj='malls';
				if(!$firmsId)
				{
					$firms_id=$row[$obj.'_id'];
					$firms_name=$row[$obj.'_name'];
					$firms_short=$row[$obj.'_short'];
				}
				$arr[]=$this->showAnAct('malls', $row['id'], $row['name'], $row['stext'], $row['data'], $firms_id, $firms_name, $firms_short, $textLimit);
			}
			if(count($arr)-count($countDates)==$limit)break;
			date_add($cur_date, date_interval_create_from_date_string('1 day'));//прибавляем день и повторяем заново
		}
		for ($i = 0; $i <($limit+count($countDates)); $i++)
	    {
	    	echo $arr[$i];//собрали в массив все по-порядку и выводим нужное кол-во строк
	    }
	    if(!$arr)echo ('
	    <div class="tabHeader">
	    	<h3>Событий пока не намечается</h3>
	  	</div>
	    ');
  		echo ('
  			</table>
  		</div>
  		');
  		if($num>$limit)echo ('
  			<center>
  			<a class="belink" href="allacts.php?city='.$_GET['city'].'&id='.$_GET['id'].'">
  				Все события('.$num.')
  			</a>
  			</center>
  			');
	}
	function showAnAct($obj, $id, $name, $text, $data, $firms_id='', $firms_name='', $firms_short='',  $textLimit="", $edit=false)
	{
		if($textLimit)
		{
			if(mb_strlen($text)>$textLimit)
			{
				$text=mb_substr($text, 0, $textLimit, 'utf-8').'...<a href="fullacts.php?city='.$_GET['city'].'&id='.$id.'&obj='.$obj.'">полностью</a>';
				if($edit)$text=mb_substr($text, 0, $textLimit, 'utf-8').'...<a href="fullactscab.php?city='.$_GET['city'].'&id='.$id.'&obj='.$obj.'">полностью</a>';
			}
		}
		$img='';
		$text=nl2br($text);
		$time=$data;
		$time=date_create($time);
		$time=date_format($time, 'H:i');
		$link='fullacts.php?city='.$_GET['city'].'&id='.$id.'&obj='.$obj;
		if($edit)$link='edit'.$obj.'acts.php?city='.$_GET['city'].'&id='.$id;
		if(file_exists('pictures/'.$obj.'actspics/'.$_GET['city'].'/'.$id.'.jpg'))
			$img='<img class="actPic" src="pictures/'.$obj.'actspics/'.$_GET['city'].'/'.$id.'.jpg?'.rand().'" />';
		if($obj=='nets')$img='<img class="actPic" src="pictures/'.$obj.'actspics/'.$id.'.jpg?'.rand().'" />';
		$this->act='
		<tr height="30">
			<td width="50">
			</td>
			<td width="50" align="center">
				<div class="acttime">'.$time.'</div>
			</td>
			<td colspan="2">
				<a class="actNameShort" href="'.$obj.'.php?city='.$_GET['city'].'&id='.$firms_id.'">
					'.$firms_short.'   '.$firms_name.'
				</a>

			</td>

		</tr>
		<tr>
			<td width="50">
			</td>
			<td class="actPicTd">
				'.$img.'
			</td>
			<td colspan="2" class="actbody" valign="top">
				<div class="actname">
					<a href="'.$link.'">'.$name.'</a>
				</div>
				<div class="acttext">
					'.$text.'
				</div>
			</td>
		</tr>
		';
		if($edit)
		{
			 $this->act.='
		<tr>
			<td colspan="3" align="center">
				<a class="belink_grey" href="edit'.$obj.'acts.php?city='.$_GET['city'].'&id='.$id.'">Редактировать</a>
			</td>
		</tr>

			';
		}
		return $this->act;
	}
}
?>